#pragma once

#include "../nes/type.h"

class CNameTblViewerDlg : public CDialogImpl< CNameTblViewerDlg >,
                          public CMessageFilter
{
public:
  enum {
    IDD = IDD_NAME_VIEWER
  };

  virtual BOOL  PreTranslateMessage(MSG* pMsg);

  BEGIN_MSG_MAP(CNameTblViewerDlg)
    MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
    MESSAGE_HANDLER(WM_CLOSE, OnClose)
    MESSAGE_HANDLER(WM_TIMER, OnTimer)
  END_MSG_MAP()

  // Handler prototypes (uncomment arguments if needed):
  //      LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
  //      LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
  //      LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/)

  LRESULT       OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/,
                             LPARAM /*lParam*/, BOOL& /*bHandled*/);
  LRESULT       OnClose(UINT /*uMsg*/, WPARAM /*wParam*/,
                        LPARAM /*lParam*/, BOOL& /*bHandled*/);
  LRESULT       OnTimer(UINT /*uMsg*/, WPARAM /*wParam*/,
                        LPARAM /*lParam*/, BOOL& /*bHandled*/);

  BOOL          ShowHideMe();
  void          Draw();

private:
  BOOL          m_IsShow;
};
